/**
 * 规则校验
 */
var couponFormValidataBasic = {
    
};

/**
 * 初始化
 */
$(function() {
    
    $("#couponForm").validate({
        rules : {
            couponName : {
                required : true,
                minlength : 3,
                maxlength : 200
            },
            couponAmount : {
                required : true,
                isNoInteger : true,
                minlength : 1,
                maxlength : 15
            },
            timeType : {
                required : true
            },
            couponGetDate : {
                required : true
            },
            issueNumber : {
                required : true,
                integer : true,
                minlength : 1,
                maxlength : 10
            },
            conditionAmount : {
                required : true,
                isNoInteger : true
            }
        },
        messages : {
            couponName : {
                required : '请填写优惠券名称',
                minlength : '优惠券名称至少2个字符',
                maxlength : '优惠券名称至少200个字符'
            },
            couponAmount : {
                required : '请填写优惠券面值'
            },
            timeType : {
                required : '请选择优惠券期限类型'
            },
            couponGetDate : {
                required : '请填写优惠券领取起止时间'
            },
            issueNumber : {
                required : '请填写发放数量'
            },
            conditionAmount : {
                required : '请填写满足金额'
            }
        },
        errorPlacement : function(error, element) { // 错误信息位置设置方法
            var tagName = $(element).is("select");
            if (element.is(':radio') || element.is(':checkbox')) {
                var eid = element.attr('name');
                error.appendTo(element.parent().parent().parent());
            } else if (tagName) {
                error.insertAfter(element.parent().next());
            } else {
                error.insertAfter(element);
            }
        },
        submitHandler : function(form) {
            saveCoupon();
        }
    });
    
    
    

    if ($("#id").val()) {
        // 修改
        // 有效期
        sys.daterangepicker({
            id : 'couponDate',
            type : 'datetime',
            startDate : $("#beginTime").val(),
            endDate : $("#endTime").val(),
            // minDate : new Date(),
            maxDate : '2099-12-31 23:59:59'
        });
        // 领取日期
        sys.daterangepicker({
            id : 'couponGetDate',
            type : 'datetime',
            startDate : $("#beginGetTime").val(),
            endDate : $("#endGetTime").val(),
            // minDate : new Date(),
            maxDate : '2099-12-31 23:59:59'
        });
    } else {
        // 有效期
        sys.daterangepicker({
            id : 'couponDate',
            type : 'datetime',
            minDate : new Date(),
            // startDate : $("#beginTime").val(),
            // endDate : $("#endTime").val(),
            maxDate : '2099-12-31 23:59:59'
        });
        // 领取日期
        sys.daterangepicker({
            id : 'couponGetDate',
            type : 'datetime',
            // startDate : $("#beginGetTime").val(),
            // endDate : $("#endGetTime").val(),
            minDate : new Date(),
            maxDate : '2099-12-31 23:59:59'
        });
    }

    // 保存
    $("#btn_save").click(function() {
        $("#couponForm").submit();
        return false;
    });

    // 返回
    $("#btn_back").click(function() {
        window.location.href = rootPath + "/coupon/toListCouponPage";
    });
    
    
    $('input[type="checkbox"]').iCheck({
        checkboxClass : 'icheckbox_square-green'
    });
    $('input[type="radio"][name="timeType"]').iCheck({
        radioClass : 'iradio_square-green'
    });
    $('input[type="radio"][name="timeType"]').on('ifChecked', function(event) { // ifCreated 事件应该在插件初始化之前绑定
        doShowCouponTime($(this).val());
    });
    
    
    // 优惠券类型
    $('input[type="radio"][name="couponType"]').iCheck({
        radioClass : 'iradio_square-green'
    });
    $('input[type="radio"][name="couponType"]').on('ifChecked', function(event) { // ifCreated 事件应该在插件初始化之前绑定
    });
    
    // 领取类型
    $('input[type="radio"][name="getTargetType"]').iCheck({
        radioClass : 'iradio_square-green'
    });
    $('input[type="radio"][name="getTargetType"]').on('ifChecked', function(event) { // ifCreated 事件应该在插件初始化之前绑定
        var getTargetType = $(this).val();
        if(getTargetType == '01'){
    		var url = rootPath + "/customer/toCustomerSelector";
    		layer.open({
    			type : 2,
    			title : '选择客户',// 弹框标题
    			area : [ '1100px', '580px' ],// 弹框大小，宽高
    			skin : 'layui-layer-lan',// 皮肤
    			fixed : false, // 是否固定，不固定
    			content : url,// 加载内容，可以是一句话也可以是连接
    			shade : [ 0.8, '#393D49' ],// 遮罩，透明度以及颜色
    			cancel : function(index, layero) {
    				// layero.parent().find("#productPropertyTemplatePropertyTable").bootstrapTable("refresh");
    				layer.close(index)
    				return false;
    			}
    		});
        }else if(getTargetType == '02'){
        	var url = rootPath + "/customerLevel/toCustomerLevelSelector";
    		layer.open({
    			type : 2,
    			title : '选择客户级别',// 弹框标题
    			area : [ '1100px', '580px' ],// 弹框大小，宽高
    			skin : 'layui-layer-lan',// 皮肤
    			fixed : false, // 是否固定，不固定
    			content : url,// 加载内容，可以是一句话也可以是连接
    			shade : [ 0.8, '#393D49' ],// 遮罩，透明度以及颜色
    			cancel : function(index, layero) {
    				// layero.parent().find("#productPropertyTemplatePropertyTable").bootstrapTable("refresh");
    				layer.close(index)
    				return false;
    			}
    		});
        }else if(getTargetType == '03'){
        	var url = rootPath + "/area/toAreaSelector";
    		layer.open({
    			type : 2,
    			title : '选择区域',// 弹框标题
    			area : [ '500px', '700px' ],// 弹框大小，宽高
    			skin : 'layui-layer-lan',// 皮肤
    			fixed : false, // 是否固定，不固定
    			content : url,// 加载内容，可以是一句话也可以是连接
    			shade : [ 0.8, '#393D49' ],// 遮罩，透明度以及颜色
    			cancel : function(index, layero) {
    				layer.close(index)
    				return false;
    			}
    		});
        }else if(getTargetType == '04'){
        	var url = rootPath + "/user/toSalesmanSelector";
    		layer.open({
    			type : 2,
    			title : '选择业务员',
    			area : [ '800px', '500px' ],// 弹框大小，宽高
    			skin : 'layui-layer-lan',// 皮肤
    			fixed : false, // 是否固定，不固定
    			content : url,// 加载内容，可以是一句话也可以是连接
    			shade : [ 0.8, '#393D49' ],// 遮罩，透明度以及颜色
    			cancel : function(index, layero) {
    				layer.close(index)
    				return false;
    			}
    		});
        }else if(getTargetType == '05'){
        	clearGetTargetList();
        }
        
    });
    
    
    // 使用类型
    $('input[type="radio"][name="useTargetType"]').iCheck({
        radioClass : 'iradio_square-green'
    });
    $('input[type="radio"][name="useTargetType"]').on('ifChecked', function(event) { // ifCreated 事件应该在插件初始化之前绑定
        var useTargetType = $(this).val();
        if(useTargetType == '01'){
        	// 指定商品查询
        	var url = rootPath + "/product/toProductSelector";
    		layer.open({
    			type : 2,
    			title : '选择商品',
    			area : [ '1000px', '500px' ],// 弹框大小，宽高
    			skin : 'layui-layer-lan',// 皮肤
    			fixed : false, // 是否固定，不固定
    			content : url,// 加载内容，可以是一句话也可以是连接
    			shade : [ 0.8, '#393D49' ],// 遮罩，透明度以及颜色
    			cancel : function(index, layero) {
    				layer.close(index)
    				return false;
    			}
    		});
        }else if(useTargetType == '02'){
        	// 指定商品分类
        	var url = rootPath + "/productCategory/toProductCategorySelector";
    		layer.open({
    			type : 2,
    			title : '选择商品分类',
    			area : [ '500px', '700px' ],// 弹框大小，宽高
    			skin : 'layui-layer-lan',// 皮肤
    			fixed : false, // 是否固定，不固定
    			content : url,// 加载内容，可以是一句话也可以是连接
    			shade : [ 0.8, '#393D49' ],// 遮罩，透明度以及颜色
    			cancel : function(index, layero) {
    				layer.close(index)
    				return false;
    			}
    		});
        }else if(useTargetType == '03'){
        	// 指定商品品牌
        	var url = rootPath + "/productBrand/toProductBrandsSelector";
    		layer.open({
    			type : 2,
    			title : '选择商品品牌',
    			area : [ '1000px', '700px' ],// 弹框大小，宽高
    			skin : 'layui-layer-lan',// 皮肤
    			fixed : false, // 是否固定，不固定
    			content : url,// 加载内容，可以是一句话也可以是连接
    			shade : [ 0.8, '#393D49' ],// 遮罩，透明度以及颜色
    			cancel : function(index, layero) {
    				layer.close(index)
    				return false;
    			}
    		});
        }else if(useTargetType == '04'){
        	// 选择所有清空使用对象容器
        	clearUseTargetList();
        }
    });
    
    
    // 图片删除事件
    $("#image_container").find("li:gt(0)").each(function() {
		$(this).find("a").click(function() {
			$(this).closest("li").remove();
		});
	});
    
});


// 清空已选择的领用目标窗口
function clearGetTargetList(){
	$("#selectedGetTargetList").find("li").remove();
}

//清空已选择的使用目标窗口
function clearUseTargetList(){
	$("#selectedUseTargetList").find("li").remove();
}


//删除选择元素
function removeSelf(_this){
	$(_this).closest("li").remove();
}
// 添加选中的客户到已选择列表
function addCustomerToTable(data){
	// 清除其它类型的数据
	$("#selectedGetTargetList").find("li[tag^='cus_level_']").remove();
	$("#selectedGetTargetList").find("li[tag='cus_area_']").remove();
	$("#selectedGetTargetList").find("li[tag='salesman_']").remove();
	
	var lis = $("#selectedGetTargetList").find("li");
	var existsFlag = false;
	lis.each(function(i){
		if($(this).attr("tag") == "cus_"+data.customerId){
			existsFlag = true;
		}
	});
	if(existsFlag){
		return 1;
	}
	var liHtml = "<li tag=\"cus_"+data.customerId+"\">"+
					"<a href=\"javascript:void(0)\">"+
						"<b>"+data.customerName+"</b><b class=\"color\"></b>"+
						"<i onclick=\"removeSelf(this)\">×</i>"+
					"</a>"+
				 "</li>";
	$("#selectedGetTargetList").append(liHtml);
	return 1;
}


//添加选中的客户级别到已选择列表
function addCustomerLevelToTable(data){
	var lis = $("#selectedGetTargetList").find("li");
	var existsFlag = false;
	lis.each(function(i){
		if($(this).attr("tag") == "cus_level_"+data.levelId){
			existsFlag = true;
		}
	});
	if(existsFlag){
		return 1;
	}
	var liHtml = "<li tag=\"cus_level_"+data.levelId+"\">"+
					"<a href=\"javascript:void(0)\">"+
						"<b>"+data.levelName+"</b><b class=\"color\"></b>"+
						"<i onclick=\"removeSelf(this)\">×</i>"+
					"</a>"+
				 "</li>";
	$("#selectedGetTargetList").append(liHtml);
	return 1;
}

//添加选中的区域到已选择列表
function addAreaToSelectedTable(data){
	var lis = $("#selectedGetTargetList").find("li");
	var existsFlag = false;
	lis.each(function(i){
		if($(this).attr("tag") == "cus_area_"+data.id){
			existsFlag = true;
		}
		if(data.path && data.path.length != 22){
			existsFlag = true;
		}
	});
	if(existsFlag){
		return 1;
	}
	var liHtml = "<li tag=\"cus_area_"+data.id+"\">"+
					"<a href=\"javascript:void(0)\">"+
						"<b>"+data.areaName+"</b><b class=\"color\"></b>"+
						"<i onclick=\"removeSelf(this)\">×</i>"+
					"</a>"+
				 "</li>";
	$("#selectedGetTargetList").append(liHtml);
	return 1;
}


// 添加选中的业务员到已选中列表中
function addSalesmanToTable(data){
	var lis = $("#selectedGetTargetList").find("li");
	var existsFlag = false;
	lis.each(function(i){
		if($(this).attr("tag") == "salesman_"+data.id){
			existsFlag = true;
		}
	});
	if(existsFlag){
		return 1;
	}
	var liHtml = "<li tag=\"salesman_"+data.id+"\">"+
					"<a href=\"javascript:void(0)\">"+
						"<b>"+data.userName+"</b><b class=\"color\"></b>"+
						"<i onclick=\"removeSelf(this)\">×</i>"+
					"</a>"+
				 "</li>";
	$("#selectedGetTargetList").append(liHtml);
	return 1;
}



//添加选中商品到已选中列表中
function addProductToTable(data){
	
	// 清除其它类型的数据
	// $("#selectedUseTargetList").find("li[tag^='product_category_']").remove();
	// $("#selectedUseTargetList").find("li[tag^='product_brand_']").remove();
	
	var lis = $("#selectedUseTargetList").find("li");
	var existsFlag = false;
	lis.each(function(i){
		if($(this).attr("tag") == "product_"+data.id){
			existsFlag = true;
		}
	});
	if(existsFlag){
		return 1;
	}
	var liHtml = "<li tag=\"product_"+data.id+"\">"+
					"<a href=\"javascript:void(0)\">"+
						"<b>"+data.productName+"</b><b class=\"color\"></b>"+
						"<i onclick=\"removeSelf(this)\">×</i>"+
					"</a>"+
				 "</li>";
	$("#selectedUseTargetList").append(liHtml);
	return 1;
}


// 添加商品类型到表格
function addProductCategoryToTable(data){
	var lis = $("#selectedUseTargetList").find("li");
	var existsFlag = false;
	lis.each(function(i){
		if($(this).attr("tag") == "product_category_"+data.id){
			existsFlag = true;
		}
	});
	if(existsFlag){
		return 1;
	}
	var liHtml = "<li tag=\"product_category_"+data.id+"\">"+
					"<a href=\"javascript:void(0)\">"+
						"<b>"+data.categoryName+"</b><b class=\"color\"></b>"+
						"<i onclick=\"removeSelf(this)\">×</i>"+
					"</a>"+
				 "</li>";
	$("#selectedUseTargetList").append(liHtml);
	return 1;
}


//添加品牌到已选中表格
function addProductBrandToTable(data){
	var lis = $("#selectedUseTargetList").find("li");
	var existsFlag = false;
	lis.each(function(i){
		if($(this).attr("tag") == "product_brand_"+data.id){
			existsFlag = true;
		}
	});
	if(existsFlag){
		return 1;
	}
	var liHtml = "<li tag=\"product_brand_"+data.id+"\">"+
					"<a href=\"javascript:void(0)\">"+
						"<b>"+data.brandName+"</b><b class=\"color\"></b>"+
						"<i onclick=\"removeSelf(this)\">×</i>"+
					"</a>"+
				 "</li>";
	$("#selectedUseTargetList").append(liHtml);
	return 1;
}


/**
 * 展示时间段
 */
function doShowCouponTime(timeType) {
    $("#timeType1").css('display', 'none');
    $("#timeType2").css('display', 'none');
    $("#timeType" + timeType).css('display', 'block');
    // 动态添加校验
    if (timeType == 1) {
        // 有效期
        $("#couponDate").rules("add", {
            required : true,
            messages : {
                required : "请选择优惠券有效期起止时间"
            }
        });
        $("#limitDay").rules("remove");
    } else if (timeType == 2) {
        // 天数
        $("#limitDay").rules("add", {
            required : true,
            integer : true,
            min : 0,
            messages : {
                required : "请输入有效期天数",
                integer : "请输入正整数",
                min : "请输入有效期天数"
            }
        });
        $("#couponDate").rules("remove");
    } else {
        //都不是，那么全部清空
        $("#couponDate").rules("remove");
        $("#limitDay").rules("remove");
    }
}

/**
 * 校验表单
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年9月28日 上午10:39:12
 * @returns {Boolean}
 */
function doCheck() {
//    var couponFormValidator = $(document.couponForm).validate(couponFormValidataBasic);
//    var vali = couponFormValidator.form();
//    if (!vali) {
//        return false;
//    }
//    // 规则配置
//    return true;
}

/**
 * 优惠券保存
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年11月16日 下午2:20:24
 */
function saveCoupon() {
    // 移除原有异常错误提示信息
    $("label.error").remove();
    var id = $("#id").val();
    // 红包名称
    var couponName = $("#couponName").val();
    // 红包面值
    var couponAmount = $("#couponAmount").val();
    // 有效期类型
    var timeType = $('input[name="timeType"]:checked').val();
    // 有效期到期日
    var couponDate = $("#couponDate").val();
    // 有效期天数
    var limitDay = $("#limitDay").val();
    // 活动有效期
    var couponGetDate = $("#couponGetDate").val();
    // 发行数量
    var issueNumber = $("#issueNumber").val();
    // 限领张数
    var limitNumber = $("#limitNumber").val();
    // 满足使用条件金额
    var conditionAmount = $("#conditionAmount").val();
    var isLimit = 0;
    // 是否上不封顶
    if($("#isLimit").attr("checked")) {
        isLimit = 1;
    }
    // 是否可叠加使用
    var isComposition = 0;
    if($("#isComposition").attr("checked")) {
    	isComposition = 1;
    }
    // 活动描述
    var promotionRule = $("#promotionRule").val();
    
    // 红包类型
    var couponType = 1;
    if($("#couponType").attr("checked")){
    	couponType = 2;
    }
    // 领用对象
    var getTargetType = $("input[name='getTargetType']:checked").val();
    // alert("领用对象:" + getTargetType);
    
    var getTargetList = [];
    if(getTargetType != '05'){
    	$("#selectedGetTargetList").find("li").each(function(){
    		getTargetList.push({"targetVal":$(this).attr("tag"),"targetPro":$(this).find("b").text()});
    	});
    }
    // alert("领用对象:" + getTargetList.join(','));
    
    // 使用对象
    var useTargetType = $("input[name='useTargetType']:checked").val();
    var useTargetList = [];
    if(useTargetType != '05'){
    	$("#selectedUseTargetList").find("li").each(function(){
    		useTargetList.push({"targetVal":$(this).attr("tag"),"targetPro":$(this).find("b").text()});
    	});
    }
    // alert("使用对象:" + useTargetList.join(','));
    // 审批文件
    var filePath = $("#filePath").val();
    
    
    
    $.ajax({
        url : rootPath + "/coupon/saveCoupon",
        type : "post",
        async : false,
        dataType : 'json',
        data : {
            id : id,
            couponName : couponName,
            couponAmount : couponAmount,
            timeType : timeType,
            couponDate : couponDate,
            limitDay : limitDay,
            couponGetDate : couponGetDate,
            issueNumber : issueNumber,
            limitNumber : limitNumber,
            conditionAmount : conditionAmount,
            isLimit : isLimit,
            isComposition : isComposition,
            promotionRule : promotionRule,
            couponType: couponType,
            getTargetType : getTargetType,
            getTargetList : JSON.stringify(getTargetList),
            useTargetType : useTargetType,
            useTargetList : JSON.stringify(useTargetList),
            filePath : filePath
        },
        success : function(json) {
            if (json.code == '1') {
                showSuccess(json.msg, function() {
                    // 到列表页
                    window.location.href = rootPath + "/coupon/toListCouponPage";
                });
            } else {
                showErr(json.msg);
            }
        }
    });
}


//检查图片格式及大小
function imageCheck(obj){
	var id = $(obj).attr("id");
	var filePath = $("#"+id).val();
	//检查后缀
	var ext = filePath.substring(filePath.lastIndexOf("."), filePath.length).toUpperCase();
	if (ext != ".BMP" && ext != ".PNG" && ext != ".GIF" && ext != ".JPG" && ext != ".JPEG") {
		layer.msg('只能上传图片',{time:500});
		return false;
	}
	var file_size = 0;
	if (false || !!document.documentMode) {
		var img = new Image();
		img.src = filepath;
		while (true) {
			if (img.fileSize > 0) {
				if (img.fileSize > 5 * 1024 * 1024) {
					layer.msg('图片不能大于5MB',{time:1000});
					return false;
				}
				break;
			}
		}
	} else {
		file_size = obj.files[0].size;
		var size = file_size / 1024;
		if (size > 5120) {
			layer.msg('图片不能大于5MB',{time:1000});
			return false;
		}
	}
	return true;
}

//通过ajax提交图片
function ajaxFileUpload(obj) {
	var lis = $("#image_container").find("li");
	if (lis.length > 1) {
		msg("只能上传一张照片");
		return false;
	}
	var id = $(obj).attr("id");
	var check = imageCheck(obj);
	if (!check) {
		return;
	}
	$.ajaxFileUpload({
				url : rootPath + '/uploadFile/uploadOneFile',
				secureuri : false,
				fileElementId : id, // input标签id属性值
				dataType : 'json',
				success : function(data, status) {
					if (data.code == 1) {
						$("#image_container li:eq(0)").hide();
						var li = "<li>"
								+ "	<div class=\"pic1\">"
								+ "		<img src=\""
								+ imgRootURL
								+ data.filePath
								+ "\" />"
								+ "		<a id=\"btn_close\" href=\"javascript:void(0)\" class=\"icon_close\"></a>"
								+ "      <input type=\"hidden\" name=\"path\" value=\""
								+ data.filePath + "\" />" + "	</div>" + "</li>";
						$("#image_container").append(li);
						$("#image_container").find("a").each(function() {
							$(this).click(function() {
								$("#image_container li:eq(0)").show();
								$(this).closest("li").remove();
							});
						});

					} else {
						msg("上传失败");
					}
				},
				error : function(data, status, e) {
					msg("系统异常");
				}
			});
}


